package com.dragon.modules.yuegou.client.wechat_mini.request;

import java.util.ArrayList;
import java.util.List;

/**
 * 组合模板并添加请求
 * 
 * @author liuwu
 *
 */
public class TemplateAddRequest {

	/**
	 * 模板标题 id，可通过接口获取，也可登录小程序后台查看获取
	 */
	private Integer tid;

	/**
	 * 开发者自行组合好的模板关键词列表，关键词顺序可以自由搭配（例如 [3,5,4] 或 [4,5,3]），最多支持5个，最少2个关键词组合
	 */
	private List<Integer> kidList;

	/**
	 * 服务场景描述，15个字以内（接口文档上说是可选，实际必填）
	 */
	private String sceneDesc;

	public TemplateAddRequest() {
		super();
	}

	/**
	 * 构造一个添加模板请求
	 * 
	 * @param tid       公用模板ID
	 * @param keywords  关键字个数
	 * @param sceneDesc 场景描述
	 */
	public TemplateAddRequest(Integer tid, int keywords, String sceneDesc) {
		super();
		this.tid = tid;
		this.sceneDesc = sceneDesc;
		kidList = new ArrayList<>(keywords);
		for (int i = 1; i <= keywords; i++) {
			kidList.add(i);
		}
	}

	/**
	 * 获取模板标题 id，可通过接口获取，也可登录小程序后台查看获取
	 * 
	 * @return 模板标题 id，可通过接口获取，也可登录小程序后台查看获取
	 */
	public Integer getTid() {
		return tid;
	}

	/**
	 * 设置模板标题 id，可通过接口获取，也可登录小程序后台查看获取
	 * 
	 * @param tid 模板标题 id，可通过接口获取，也可登录小程序后台查看获取
	 */
	public void setTid(Integer tid) {
		this.tid = tid;
	}

	/**
	 * 获取开发者自行组合好的模板关键词列表，关键词顺序可以自由搭配（例如 [3,5,4] 或 [4,5,3]），最多支持5个，最少2个关键词组合
	 * 
	 * @return 开发者自行组合好的模板关键词列表，关键词顺序可以自由搭配（例如 [3,5,4] 或 [4,5,3]），最多支持5个，最少2个关键词组合
	 */
	public List<Integer> getKidList() {
		return kidList;
	}

	/**
	 * 设置开发者自行组合好的模板关键词列表，关键词顺序可以自由搭配（例如 [3,5,4] 或 [4,5,3]），最多支持5个，最少2个关键词组合
	 * 
	 * @param kidList 开发者自行组合好的模板关键词列表，关键词顺序可以自由搭配（例如 [3,5,4] 或
	 *                [4,5,3]），最多支持5个，最少2个关键词组合
	 */
	public void setKidList(List<Integer> kidList) {
		this.kidList = kidList;
	}

	/**
	 * 获取服务场景描述，15个字以内
	 * 
	 * @return 服务场景描述，15个字以内
	 */
	public String getSceneDesc() {
		return sceneDesc;
	}

	/**
	 * 设置服务场景描述，15个字以内
	 * 
	 * @param sceneDesc 服务场景描述，15个字以内
	 */
	public void setSceneDesc(String sceneDesc) {
		this.sceneDesc = sceneDesc;
	}

}
